\documentclass[a4paper,10pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{url}
\usepackage[left=3cm,right=3cm,top=2cm,bottom=2cm,nohead]{geometry}
\usepackage[colorlinks=false,pdfborder=0 0 0]{hyperref}
\usepackage[T1]{fontenc}
\usepackage{pslatex}

%opening
\title{YajHFC FAQ}
\author{}
\date{}
\begin{document}
\sloppy

\maketitle

\tableofcontents

\section{Installation}
\subsection{Where do I get a fax viewer for Windows?}

Generally you can use any program that can display TIFF files, although 
some of them display faxes in low resolution with an incorrect (half) height.

Luckily, all recent Windows versions come with program that does this correctly:

\begin{description}
\item[Windows 95/98/ME/2000:]
 You can use the Accessories/Imaging application.
      To use it with YajHFC, use the browse button of the \texttt{Command line for fax viewer}
      box to browse for \texttt{kodakimg.exe} on your hard drive.\\
      This file usually resides either in the Windows directory (Win 98/ME) \emph{or} \\
      in \verb.Program Files\Windows NT\Accessories\ImageVue. (Win 2k).
       
\item[Windows XP/Vista:]
You can use the integrated ``picture and fax viewer''.
      To use it, enter the following text into the \texttt{Command line for fax viewer} box:\\
      \verb#rundll32.exe shimgvw.dll,ImageView_Fullscreen %s#
 \end{description}

      
\subsection{Where do I get a fax viewer for Linux/*BSD/... ?}
\texttt{kfax} works very well for me, but just as with Windows, you may use any program that 
can display TIFF files, just search your distribution's package database 
(xloadimage does \emph{not} work for me, however).


\subsection{What should I use as a fax viewer on Mac OS X?}
Just enter \verb.open %s. into the \texttt{Command line for fax viewer} box.
The faxes should open in the default application now.
Thanks to Scott Harris for figuring this out.


\subsection{Where do I get a PostScript viewer?}
\begin{description}
\item[Windows:] Use Ghostview from \url{http://www.cs.wisc.edu/~ghost/}
\item[Linux/*BSD/...:] Just install one of the Postscript viewer packages
                (e.g. \texttt{gv, kghostview, gnome-gv, ...})
\end{description}

\subsection{Where can I get GhostScript from?}
\begin{description}
\item[Windows:] Download it from \url{http://www.cs.wisc.edu/~ghost/}
\item[Linux/*BSD/...:] Install the GhostScript package for your distribution (on most installations this package will already be installed; if not: the package name usually begins with \texttt{ghostscript} or \texttt{gs})
\end{description}

\subsection{Where can I get TIFF2PDF from?}
\begin{description}
\item[Windows:] Download it from \url{http://gnuwin32.sourceforge.net/downlinks/tiff.php}\\ If this link does not work, please see \url{http://gnuwin32.sourceforge.net/packages/tiff.htm} or \url{http://www.libtiff.org/}.
\item[Linux/*BSD/...:] Install the ``libtiff tools'' package for your distribution. Usually this package will have the word \texttt{tiff} in its name (on Debian/Ubuntu it is called \texttt{libtiff-tools} and on SUSE \texttt{tiff}).
\end{description}

\subsection{How can I supply already downloaded versions of tiff2pdf and GhostScript to the Windows setup?}

Starting with version 0.4.2 the Windows setup optionally downloads and installs tiff2pdf and GhostScript.
Before starting a download the setup program searches in the following places for already downloaded versions:
\begin{enumerate}
 \item The directory where the \texttt{setup.exe} resides
 \item The user's desktop (where the files are saved if you choose to preserve downloaded files)
\end{enumerate}

Please note that the file names must exactly match the ones of the downloaded files (i.e. \texttt{gs864w32.exe} (32 bit) or \texttt{gs864w64.exe} (64 bit) and \texttt{tiff-3.8.2-1.exe}).

\section{Usage of the program}	

\subsection{How can I edit PostScript cover page templates?}
Those templates have to be in the same special PostScript format the HylaFAX
\texttt{faxcover} program uses. See the following pages for hints how to create/edit
such files: \\
\url{http://www.hylafax.org/HylaFAQ/Q202.html}\\
\url{http://www.hylafax.org/howto/tweaking.html}\\

Alternatively, starting with YajHFC 0.3.7, you can use Cover pages in HTML or, with a plugin, in XSL:FO or ODT (OpenDocument Text) format.

YajHFC 0.5.2 adds the option use PDF documents as cover pages.

\subsection{Which fields are recognized in a HTML cover page?}

The following ``words'' are replaced (case insensitively) with the corresponding values when a HTML file is used as a cover page:

\begin{center}
\begin{tabular}{|l|l|}
\hline
\bfseries Word & \bfseries Meaning \\
\hline\hline
\ttfamily @@Name@@ & The recipient's name \\\hline
\ttfamily @@Company@@ & The recipient's company \\\hline
\ttfamily @@Location@@ & The recipient's location \\\hline
\ttfamily @@Faxnumber@@ & The recipient's fax number \\\hline
\ttfamily @@Voicenumber@@ & The recipient's voice number \\\hline
\ttfamily @@FromName@@ & The sender's name \\\hline
\ttfamily @@FromCompany@@ & The sender's company \\\hline
\ttfamily @@FromLocation@@ & The sender's location \\\hline
\ttfamily @@FromFaxnumber@@ & The sender's fax number \\\hline
\ttfamily @@FromVoicenumber@@ & The sender's voice number \\\hline
\ttfamily @@FromEMail@@ & The sender's e-mail address \\\hline
\ttfamily @@Subject@@ & The fax's subject \\\hline
\ttfamily @@Date@@ & Today's date \\\hline
\ttfamily @@PageCount@@ & The number of pages \textit{excluding} the cover page \\\hline
\ttfamily @@Comments@@ & The comments entered for this fax \\\hline
\end{tabular}
\end{center}

Starting with version 0.4.0 the following additional fields are available (note that the \textit{italic} fields will be empty when you use ``Resend fax''):
\begin{center}
\begin{tabular}{|l|p{.7\textwidth}|}
\hline
\bfseries Word & \bfseries Meaning \\
\hline\hline
\ttfamily @@Surname@@ & The recipient's surname (resent faxes: the same as \texttt{@@Name@@}) \\\hline
\ttfamily\itshape @@GivenName@@ & The recipient's given name \\\hline
\ttfamily\itshape @@Title@@ & The recipient's title \\\hline
\ttfamily\itshape @@Position@@ & The recipient's position \\\hline
\ttfamily\itshape @@Department@@ & The recipient's department\\\hline
\ttfamily @@CompanyName@@ & The recipient's company name (without department) (resent faxes: the same as \texttt{@@Company@@})\\\hline
\ttfamily\itshape @@Street@@ & The recipient's street name \\\hline
\ttfamily @@Place@@ & The recipient's location (without street or ZIP code) (resent faxes: the same as \texttt{@@Location@@})\\\hline
\ttfamily\itshape @@ZIPCode@@ & The recipient's ZIP Code \\\hline
\ttfamily\itshape @@State@@ & The recipient's state\\\hline
\ttfamily\itshape @@Country@@ & The recipient's country\\\hline
\ttfamily\itshape @@EMail@@ & The recipient's e-mail address\\\hline
\ttfamily\itshape @@WebSite@@ & The recipient's website\\\hline\hline
\ttfamily @@FromSurname@@ & The sender's  surname \\\hline
\ttfamily @@FromGivenName@@ & The sender's  given name \\\hline
\ttfamily @@FromTitle@@ & The sender's  title \\\hline
\ttfamily @@FromPosition@@ & The sender's position \\\hline
\ttfamily @@FromDepartment@@ & The sender's  department\\\hline
\ttfamily @@FromCompanyName@@ & The sender's  company name (without department)\\\hline
\ttfamily @@FromStreet@@ & The sender's  street name \\\hline
\ttfamily @@FromPlace@@ & The sender's  location (without street or ZIP code)\\\hline
\ttfamily @@FromZIPCode@@ & The sender's  ZIP Code \\\hline
\ttfamily @@FromState@@ & The sender's  state\\\hline
\ttfamily @@FromCountry@@ & The sender's  country\\\hline
\ttfamily @@FromEMail@@ & The sender's  e-mail address\\\hline
\ttfamily @@FromWebSite@@ & The sender's website\\\hline
\ttfamily @@TotalPageCount@@ & The number of pages \textit{including} the cover page \\\hline
\ttfamily @@CCNameAndFax@@ & The names and fax numbers of the other recipients of this fax in the format \textit{Name1 <faxnumber1>; Name2 <faxnumber2>; ...} (versions > 0.4.4 only)\\\hline
\end{tabular}
\end{center}

This replacement is done at the source code level, so those words will not be recognized if the formatting changes inside one of it (e.g. \texttt{@@sub\textit{ject@@}}).

Starting with version 0.4.2 some simple conditional statements are supported. These are implemented using HTML comments, so please make sure that the text enclosed in a conditional statement does not contain any comments.
\begin{center}
\begin{tabular}{|l|p{.5\textwidth}|}
\hline
\bfseries Word & \bfseries Meaning \\
\hline\hline
\ttfamily @@IfSomeFilled:\textit{field1,field2,...}@@ & Include the following text only if at least one of the given fields is filled (i.e. has a value with a length > 0).\\\hline
\ttfamily @@IfAllFilled:\textit{field1,field2,...}@@ & Include the following text only if all of the given fields are filled (i.e. have a value with a length > 0).\\\hline
\ttfamily @@IfSomeEmpty:\textit{field1,field2,...}@@ & Include the following text only if at least one of the given fields is empty (i.e. has a value with a length = 0).\\\hline
\ttfamily @@IfAllEmpty:\textit{field1,field2,...}@@ & Include the following text only if all of the given fields are empty (i.e. have a value with a length = 0).\\\hline
\ttfamily @@Else@@ & Include the following text only if the last \texttt{@@If...@@}-Statement did not match.\\\hline
\ttfamily @@EndIf@@ & Marks the end of the area influenced by the last if. Every \texttt{@@If...@@} must have exactly one corresponding \texttt{@@EndIf@@}.\\\hline
\end{tabular}
\end{center}

\subsection{Where can I find the old default cover page used before version 0.4.2?}

You can find it in the ``Coverpage examples'' archive at \url{http://download.yajhfc.de/misc/coverpages.zip}

\subsection{I liked the old send dialog better. Can I have it back?}

Just open the Options dialog and select \texttt{Traditional} as ``Style of send dialog''.

\subsection{I want to access a phone book over JDBC, but YajHFC won't find the driver even if I specify a correct class path when invoking java.}

If you use the \texttt{-jar} command line argument, java ignores a user defined class path.
So, please start YajHFC using the following commands (replace \texttt{/path/to/dbdriver.jar} and \texttt{/path/to/yajhfc.jar} with the respective real paths and file names of course):
\begin{description}
\item [Linux/Unix:] \verb#java -classpath /path/to/dbdriver.jar:/path/to/yajhfc.jar yajhfc.Launcher#
\item [Windows:] \verb#java -classpath c:\path\to\dbdriver.jar;c:\path\to\yajhfc.jar yajhfc.Launcher#
\end{description}

In recent YajHFC versions you can also simply add the driver using the \texttt{Plugins \& JDBC} panel in the Options dialog.

\subsection{What can I enter as a value for the \texttt{matches} Operator in the custom filter dialog?}

Regular Expressions. A short reference about the accepted syntax can be found at:
\url{http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html}

Please note that Regular Expressions are not the same as wildcards: 
For example, to get the effect of the \verb.*. wildcard, you have to use \verb#.*# and 
for the effect of the wildcard \verb#?# use \verb#.#.

\subsection{Which command line arguments does YajHFC understand?}

Output from \verb#java -jar yajhfc.jar --help# (version 0.5.1):
\begin{verbatim}
Usage:
java -jar yajhfc.jar [OPTIONS]... [FILES TO SEND]...

Argument description:
-r, --recipient=RECIPIENT        Specifies a recipient to send the fax to. You 
                                 may specify either a fax number or detailed 
                                 cover page information (see the FAQ for the 
                                 format in the latter case). You may specify 
                                 --recipient multiple times for multiple 
                                 recipients. 
-C, --use-cover[=yes|no]         Use a cover page for sending a fax. 
-s, --subject=SUBJECT            The fax subject for the cover page. 
    --comment=COMMENT            The comment for the cover page. 
-M, --modem=MODEM                Sets the modem to send the fax. Specify either
                                 the modem's name (e.g. ttyS0) or "any" to use 
                                 any modem. 
-S, --server=SERVER              Sets the server to send the fax over. Specify 
                                 either the server's name (e.g. "My server"), 
                                 the server's list index (0 is the first 
                                 element) or the ID in the form "#ID". 
-I, --identity=IDENTITY          Sets the sender identity to use when sending 
                                 the fax. Specify either the identity's name 
                                 (e.g. "My identity"), the identity's list 
                                 index (0 is the first element) or the ID in 
                                 the form "#ID". 
    --stdin                      Read the file to send from standard input. 
    --print-jobids[=FILE]        Prints the job IDs of newly sent faxes to 
                                 stdout or to the specified file. One job per 
                                 line is printed, in the format "yyyy-mm-dd 
                                 hh:mm:ss NEW_FAXJOB jobid". 
-A, --admin                      Start up in admin mode. 
-d, --debug                      Output some debugging information. 
-l, --logfile=LOGFILE            The log file to log debug information to (if 
                                 not specified, use stdout). 
    --appendlogfile=LOGFILE      Append debug information to the given log 
                                 file. 
    --background                 If there is no already running instance of 
                                 YajHFC, launch a new instance and terminate 
                                 this instance (after submitting the fax to 
                                 send). 
    --noclose                    Do not close YajHFC after submitting the fax. 
    --no-wait                    Do not wait for the send window to be closed 
                                 by the user. If YajHFC is invoked multiple 
                                 times before the user closes the send window, 
                                 the specified documents are added to the list 
                                 of files there. This option implies 
                                 --background. 
-T, --showtab=0|R|1|S|2|T        Sets the tab to display on startup. Specify 0 
                                 or R for the "Received", 1 or S for the "Sent"
                                 or 2 or T for the "Transmitting" tab. 
    --windowstate=N|M|I|T        Sets the initial window state of the main 
                                 window to _N_ormal, _M_aximized, _I_conified 
                                 (minimized) or minimized to _T_ray. 
    --loadplugin=JARFILE         Specifies a jar file of a YajHFC plugin to 
                                 load. 
    --loaddriver=JARFILE         Specifies the location of a JDBC driver JAR 
                                 file to load. 
    --override-setting=KEY=VALUE Overrides the value of the specified setting 
                                 for this session. The overridden setting is 
                                 not saved. 
    --no-plugins                 Disables loading plugins from the plugin.lst 
                                 file. 
    --no-gui                     Sends a fax with only a minimal GUI. 
    --no-check                   Suppresses the check for the Java version at 
                                 startup. 
-c, --configdir=DIRECTORY        Sets the configuration directory to use 
                                 instead of ~/.yajhfc 
-h, --help[=COLUMNS]             Displays this text (formatted for COLUMNS 
                                 columns if given). 
\end{verbatim}

\subsection{How can I give cover page information using the \texttt{-{-}recipient} switch?}

Starting with version 0.4.0, you can give that information using \texttt{name:value} pairs, separated by semicolons. For example, to send a fax to ``John Doe'' in ``Example town'' with the fax number 0123456, use the following command line:

\texttt{java -jar yajhfc.jar \textit{[...]} -{-}recipient="givenname:John;surname:Doe;location:Example Town;faxnumber:0123456" \textit{[...]}}

The following field names are recognized:
\begin{center}
\begin{tabular}{|l|p{.7\textwidth}|}
\hline
\bfseries Field name & \bfseries Meaning \\
\hline\hline
\ttfamily surname & The recipient's surname\\\hline
\ttfamily givenname & The recipient's given name \\\hline
\ttfamily title & The recipient's title \\\hline
\ttfamily position & The recipient's position \\\hline
\ttfamily department & The recipient's department\\\hline
\ttfamily company & The recipient's company name\\\hline
\ttfamily street & The recipient's street name \\\hline
\ttfamily location & The recipient's location\\\hline
\ttfamily zipcode & The recipient's ZIP Code \\\hline
\ttfamily state & The recipient's state\\\hline
\ttfamily country & The recipient's country\\\hline
\ttfamily email & The recipient's e-mail address\\\hline
\ttfamily faxnumber & The recipient's fax number \\\hline
\ttfamily voicenumber & The recipient's voice number \\\hline
\ttfamily website & The recipient's website\\\hline
\end{tabular}
\end{center}

Starting with version 0.4.2 you can also specify an input textfile with recipients using \texttt{-{-}recipient=@\textit{filename}} or the respective button in the send dialog.
It is assumed that the text file contains one recipient per line (either a fax number or a data set using the above format).

\subsection{What does the column XYZ mean?}

Most likely, I don't know exactly either, because the column descriptions
are simply copied from the \verb.faxstat(1). man page (JobFmt/RcvFmt) and 
abbreviated/translated.

\subsection{How can I specify some default settings?}

Starting with version 0.4.0 the following files (if they exist) are loaded in order to retrieve the saved settings:
\begin{enumerate}
 \item \texttt{[Directory where yajhfc.jar resides]/settings.default}
 \item the user settings from \texttt{\{user.home\}\footnote{In Windows \texttt{user.home} usually is \texttt{C:\textbackslash Documents and Settings\textbackslash USERNAME}.}/.yajhfc/settings} (if you specified \texttt{-{-}configdir=DIR}, \texttt{DIR/settings} is used instead)
 \item \texttt{[Directory where yajhfc.jar resides]/settings.override}
\end{enumerate}

Settings from files loaded later override the settings specified in the files loaded earlier, i.e. the settings from \texttt{settings.override} take precedence over those in the user settings and \texttt{settings.default}.
\medskip

This logic can be used to specify default settings (e.g. in a networked environment): \\
Simply configure one YajHFC installation as you like, then copy \texttt{\{user.home\}/.yajhfc/settings} to the directory where \texttt{yajhfc.jar} is and rename it to \texttt{settings.default}.
\medskip

Overrides can be specified in a similar fashion. In this case, you are encouraged to edit the settings file (it is a plain text file), and remove any lines that specify settings you wish not to override (usually you will want to remove at least \texttt{user} and \texttt{pass-obfuscated} (user name and password used to connect to the HylaFAX server), \texttt{FromName}, \texttt{*ColState} (the widths of the table columns), \texttt{*Bounds} (the position of the different windows) and \texttt{mainwinLastTab}).

Note, however that the user can still set these settings to a different value for a running YajHFC instance. They are reset to the override values only when YajHFC is started again (in other words: the user can set these settings, but they are not saved between different runs of YajHFC).


\subsection{How can I display the HylaFAX \texttt{archive} folder in YajHFC?}

With version 0.4.0 support for the HylaFAX \texttt{archive} folder has been implemented.

This directory cannot be accessed using the ``normal'' HylaFAX connection like the other folders, however, because HylaFAX does only allow to get the list of subfolders in the \texttt{archive} directory, but not to get any information (except the ID) about the archived jobs or the attached documents (if you know a HylaFAX version where this is different, please let me know).

For this reason the directory has to be accessed by other methods. Currently (0.4.0) YajHFC only supports access using the file system. This means you have to export the  \texttt{archive} directory on the server using Samba, NFS or any other network file system, mount it on the client (if you use Unix; on Windows, you can just use UNC paths) and tell YajHFC in the options under which path the \texttt{archive} directory can be found.

When you have done that, the archive table should work just like the other tables do.

\subsection{What do the different options under \texttt{Paths \& Viewers -> View and send settings} do (0.4 and up)?}

For the impatient: The recommended settings are (they are not the default, because they require \texttt{gs} and \texttt{tiff2pdf}):
\begin{itemize}
 \item \textbf{Format:} PDF or TIFF
 \item \textbf{Send multiple files as:} Single file except cover
 \item \textbf{View as single file:} Yes
 \item \textbf{Always view/send in this format:} Yes
\end{itemize}

\subsubsection{Format for viewing/sending}

The format to which the documents should be converted if necessary. Generally PDF and TIFF give better results than PostScript here (as the latter uses GhostScript's \texttt{pswrite} device).

\subsubsection{Send multiple files as}

{\parindent0pt
\textbf{Multiple files:}\\
Same behaviour as pre-0.4.0 versions. If you attach multiple documents to a single fax job, these documents are converted to PS or PDF, but kept as separate files (e.g. if you send a fax with files \texttt{doc.ps} and \texttt{picture.jpg}, two separate files are uploaded)
\medskip

\textbf{Single file except for cover:}\\
One file is created for the whole fax, but the cover page is kept as a separate file (e.g. if you send a fax with \texttt{doc.ps} and \texttt{picture.jpg}, a single PDF/PS/TIFF file is created and uploaded).\\
\textit{Advantage:} The resolution is reduced to 196 dpi (-> smaller files/upload) and a single document file can be used when sending a fax to multiple destinations.
\medskip

\textbf{Complete fax as single file:}\\
One file is created for the whole fax including the cover page. If the fax has no cover this behaves identical to the above case.\\
\textit{Advantage:} No conversions on the client are necessary when viewing the sent fax.\\
\textit{Disadvantage:} When sending a fax to multiple recipients one file per recipient has to be created and uploaded.
}

\subsubsection{View faxes as single file}
If this option is checked and a fax on the server consists of multiple files, a single file is created (on the client) for viewing.


\subsubsection{View/send faxes always in this format}
This option modifies the behaviour of ``Send multiple files as'' and ``View faxes as single file''.\\
When this option is \textit{unchecked}, a fax is only converted if it consists of multiple files. If it consists of only a single file, the format is left as it is.\\
When this option is \textit{checked}, a fax consisting of a single file is also converted when that single file has a different format than the one selected at ``Format for sending/viewing''.\\
\textit{Advantage:} A single viewer is used for both sent and received faxes (e.g. to view received faxes as PDF).\\
\textit{Disadvantage:} Usually more format conversions are necessary on the client.

\subsection{Which characters are recognized as date/time format?}

The date is formatted using a Java \texttt{SimpleDateFormat}. A description of the characters recognized can be found at \url{http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html}.

\subsection{What does the \texttt{Answer call} feature do?}

The same as the HylaFAX \verb#faxanswer# command: It instructs the HylaFAX server to try answering an incoming call on the given modem even if the modem normally ignores inbound calls. This can be useful for testing or for small installations where a modem shares the line with a normal telephone.

\subsection{Why are there so many text extraction methods?}

Because in my experience no method works 100\% perfect. For some documents none may work correctly.

In Windows, using \textit{iText} usually works just fine.

Especially in Linux where every application produces PostScript for itself, it is not uncommon to come across documents that cannot be converted to text, however.
In that case typically there is nothing you can do about it. The reason for that is that PostScript (and PDF) are actually not really text oriented formats.
Any application is free to encode the text as it wants, for example it can encode it so that \textit{1} maps to the glyph (i.e. the picture) of the character \textit{e}, \textit{2} to {h}, 
and so on. So the text \textit{hello} might be extracted as something like \textit{21334} although it displays correctly.

If you have problems, the \textit{Test} button in the options dialog (under \textit{Recipient extraction}) can be very handy, so you can see how a document comes out when converted to text and try out different conversion methods.
In my experience, the \textit{iText} method often works best, \textit{ps2ascii} works worst, while \textit{pstotext} and \textit{pdftotext} are somewhere in the middle.
This heavily depends on the document, however.


\section{Problems/Known bugs}

\subsection{I created a HTML document/cover page, but the formatting in YajHFC looks wrong!}

YajHFC uses the HTML support integrated in Java (\texttt{HTMLEditorKit} / \texttt{HTMLDocument}) to convert HTML to PostScript. This support is quite limited, however; it only supports HTML 3.2.\\
This means that complex layouts often won't render correctly in YajHFC.
To achieve the layout you want, you will basically have the following alternatives:

\begin{itemize}
 \item Do some ``trial \& error'' until the layout looks right (the preview button in the send dialog will show the layout of the converted HTML).
 \item Use a HTML editor like Ekit (\url{http://www.hexidec.com/ekit.php}) that also uses the Java HTML support, so it will render similarily in YajHFC.
 \item Use another format for the cover page (such as XSL:FO or ODT with the FOP Plugin).
\end{itemize}

\subsection{When trying to view sent faxes I always get an error message saying 
   \texttt{File format PCL not supported}, although all the documents are PostScript/PDF.}

Check the \texttt{Use PCL file type bugfix} checkbox in the Options dialog and try again.

Some HylaFAX versions incorrectly report a file type of ``PCL'' for all documents
associated with a job. If this checkbox is checked, YajHFC tries to guess the
file type if PCL is reported (which usually works pretty well).

\subsection{I often get an error when I am sending two or more faxes in a row. What can I do about it?}

Some versions of the HylaFAX server seem to have problems when more than one fax is submitted per session.

To work around that problem, go to the \texttt{Server} tab in the Options dialog, check the \texttt{Create new session for every action} box and try if the problem persists.
If this does \emph{not} help, please mail me a bug report.

\subsection{YajHFC running under Windows sometimes saves its configuration in \texttt{C:\textbackslash .yajhfc} instead of \texttt{C:\textbackslash Documents and Settings\textbackslash USERNAME\textbackslash .yajhfc}}

As a default YajHFC saves its configuration information in the subdirectory \texttt{.yajhfc} of the directory returned by
the Java system property \texttt{user.home}.
Sometimes some Java versions seem to not set this property correctly leading to the misbehaviour described above.

As a workaround, you can set this property explicitely when starting YajHFC by using java's \texttt{-D} command line switch, for example: \\
\texttt{java -Duser.home=\%USERPROFILE\% -jar "C:\textbackslash Program Files\textbackslash yajhfc.jar"}

\subsection{The tray icon is not shown!}

Starting with version 0.4.0 YajHFC supports a tray icon which will be shown when you run YajHFC under Java 1.6 (``Java 6'').
If you use Java 1.5 (``Java 5''), a tray icon is not supported.

So, please make sure you have Java 1.6 installed. If you are absolutely sure you have Java 1.6 installed and the tray icon is still not shown, please mail me a bug report.


\section{Miscellaneous}

\subsection{Why are passwords stored in clear text? (before 0.4)}

Simply put: Because there isn't any method that is much better.

YajHFC could encode/``encrypt'' them somehow before storing, but if it did, 
you could always look at the source code to find out how to decrypt them
(even if YajHFC was closed source software you could still disassemble it
or experiment a bit to find that out).

The only secure method would require you to enter a master password every time
you start YajHFC, but in my opinion that would not provide an improvement over
entering the ``real'' password.

Because of many requests passwords are obfuscated using a simple algorithm in version 0.4.0 and up.
The statement above still holds true, however, i.e. once you read the source code, the password can be decrypted easily.

\subsection{Why did you choose that stupid name?}

YajHFC started out as a test project for Java and the \texttt{gnu.hylafax} library and so
it didn't have a ``nice'' name. After working at it for a while, I noticed that it turned 
out to be actually useable, so I chose to give it a name.
Because I was also playing around with SuSE's yast at that point of time and I knew there
were/are already a lot of other java hylafax clients out there, I simply called it
``\textbf{y}et \textbf{a}nother \textbf{J}ava \textbf{H}ylaFAX \textbf{c}lient''. 

\end{document}
